/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2006                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      lumpedPointMovement;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

//- The initial locations of the lumped points
points
(

);

//- The FEA point labels for the points (optional)
// pointLabels
// (
//
// );

//- The motion controllers.
//  The pointLabels are an adjacency list of point connectivity.
//
//  Controllers are joined by common point labels between lists
//  (or internally - eg, ring structure) when they appear in the corresponding
//  point displacement patch
controllers
{
    control1
    {
        pointLabels (0 1 2 3 4);
    }
    control2
    {
        pointLabels (1 5 6);
    }
}


//- Input offset to shift ALL lumped points when reading (default: 0 0 0)
// origin  (0 0 0);

//- The Euler rotation order (default: zxz)
// rotationOrder zxz;

//- Input rotations in degrees instead of radians (default: false)
// degrees false;

//- Relaxation/scaling factor when updating positions (default: 1)
// relax   1.0;

forces
{
    //- Pressure name (default: p)
    p       p;

    //- Reference pressure [Pa] (default: 0)
    pRef    0;

    //- Reference density for incompressible calculations (default: 1)
    rhoRef  1;
}


communication
{
    commsDir        "comms";

    log             on;

    waitInterval    1;

    timeOut         100;

    initByExternal  false;

    // Coupling frequency in time-steps (default: 1-steps)
    // calcFrequency   1;

    // Input file of positions/rotation, written by external application
    inputName       positions.in;

    // Output file of forces, written by OpenFOAM
    outputName      forces.out;

    // Log of points/forces/moments during the simulation
    logName         movement.log;

    inputFormat     dictionary;

    outputFormat    dictionary;

    // Scaling applied to values read from 'inputName',
    // also applies to points (above)
    scaleInput
    {
        //- Length multiplier (to metres). Eg 0.001 for [mm] -> [m]
        length  1;
    }

    // Scaling applied to values written to 'outputName'
    scaleOutput
    {
        //- Length multiplier (from metres). Eg 1000 for [m] -> [mm]
        length  1;

        //- Force units multiplier (from Pa)
        force   1;

        //- Moment units multiplier (from N.m)
        moment  1;
    }
}


// ************************************************************************* //
